package transporte.server.seguridad;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * Esta anotacion se usa en los controllers para ayudar a validar
 * automaticamente los privilegios de una persona
 * 
 * esta annotacion se usa asi:
 * 
 * RequirePrivs(privs={"priv1", "priv2"}) public ModelAndView
 * anyMethodThatNeedsPrivs(HttpServletRequest req, HttpServletResponse res) {
 * ... }
 * 
 * privs: los privilegios necesarios para entrar al metodo. allRequired: true si
 * requiere todos los privs, false si puede entrar con cualquiera
 * 
 * @author spulido
 * 
 */
@Retention(RetentionPolicy.RUNTIME)
public @interface RequirePrivs {
	String[] privs() default {};

	boolean allRequired() default true;
}
